Nmap渗透扫描工具使用技巧分享

您所在的位置:网站首页 udp tcp 速度比较 Nmap渗透扫描工具使用技巧分享

Nmap渗透扫描工具使用技巧分享

2023-03-21 13:50| 来源: 网络整理| 查看: 265

一、工具介绍:

Nmap(Network Mapper),诸神之眼,扫描之王,主机扫描工具,网络扫描和嗅探工具包,图形化界面是zenmap,分布式框架为Dnamp,最早是 Linux下的网络扫描和嗅探工具包。

二、功能介绍:

Nmap主要功能:主机探测、端口扫描、版本检测、系统检测(硬件地址MAC)并支持探测脚本的编写。

Nmap在实际中应用场合如下:1)通过对设备或者防火墙的探测来审计它的安全性;2)探测目标主机所开放的端口;3)通过识别新的服务器审计网络的安全性;4)探测网络上的主机;

三、工具使用说明(Linux):

帮助说明:nmap --help、nmap -h 

******************* 扫描 IP ******************* · -sP   * Ping扫描*   · -n  *禁止DNS反向解析*· -P0   *无Ping扫描*   · -R   *反向解析域名*· -PS   * TCP SYN Ping扫描*  ·-system-dns*使用系统域名解析器· -PA   *TCP ACK Ping扫描*  · -sL *列表扫描*· -PU   * UDP ping扫描  · -6  *扫描IPv6地址· -PE/PM/PP  * ICMP Ping Types扫描 · -traceroute *路由跟踪· -PR    *ARP Ping扫描  · -PY * SCTP INIT Ping扫描

nmap 192.168.31.43    # 最简单的扫描探测方式,扫描一台机器查看它打开的端口及详细信息nmap 192.168.31.43  192.168.31.1  192.168.31.132  # 对多个不连续的主机进行扫描 ,不同ip之间使用空格分开nmap 192.168.31.100-200    # 对多个连续的主机进行扫描    扫描出有哪些主机是在线的以及开放的端口nmap 192.168.31.1-255    # 对整个子网主机进行扫描nmap 192.168.31.0/24      # 对整个子网主机进行扫描

nmap -v 192.168.31.43   # 扫描这台主机的详细信息,默认扫描1000个端口,端口范围:1-65535nmap -v -p 80 139, 445 192.168.31.43-100 # 大写 V  与 小写 v  是有区别的 nmap -sV 192.168.31.43   # 识别出版本号(sV 探测的是版本 Version),扫描速度会比较慢nmap -O 192.168.31.43   # 扫描系统版本,需要root权限           Runing     OS CPE     这里的 O 要大写,小写不行nmap -sn 192.168.31.43   #  -sn  表示只进行ping扫描,不进行端口扫描,只是确认这台主机在不在线nmap -sn 192.168.31.0/24   # 该网段内存活的主机,-sn 表示只进行ping扫描,不进行端口扫描             nmap -sn 192.168.1-254 (与上等价)  # Host is up 表示在线的,存活的      -A 显示更多的信息nmap -Pn 192.168.1-10   # 慢nmap -PS 192.168.1.10nmap -sP 192.168.31.*   # 探测该网段内存活的主机,

nmap -p 1-65535 192.168.1.54   # 扫描这台设备的所有端口,445文件共享端口nmap -p 1-100,135,139,445 192.168.1.54   # 扫描部分端口

nmap -sV -pN 192.168.31.43   # 查看目标主机开放端口【推荐】   “永恒之蓝等”

nmap扫描类型主要有:TCP的全连接扫描(会在被扫描机器留下记录),半连接扫描(不会留下记录)nmap -sS 101.200.128.35 -p 80,81,21,25,22,110,443,500-600 # -sS表示使用SYN进行半连接扫描(不加-sS默认会是全扫描),port 指定端口、端口段也可以nmap 192.168.31.43  -sS -Onmap 192.168.31.0/24  -sS -O   # 扫描这个网段内的主机  是什么操作系统nmap -sS -O 192.168.1.14   # -O:开启OS检测,显示出操作系统的类型,每一种操作系统都有一个指纹

nmap -sS -O 192.168.1.0/24   # 扫描一个网段内的主机

nmap -v -p 80 192.168.1.56-90   # 扫描这个网段的主机开启的80端口,所有TCP端口范围:1-65535

nmap -sS 101.200.128.35 -p 80,81,21,25,22,110,443,500-600   # -sS表示使用SYN进行半连接扫描(不加-sS默认会是全扫描),port 指定端口、端口段也可以

nmap -p 445 22 3306 -sC -sV -A 192.168.31.198

******************* 扫描端口 ******************* 端口状态端口扫描是Nmap最基本最核心的功能,用于确定目标主机的TCP/UDP端口的开放情况,默认情况下,Nmap默认会扫描1000个最有可能开放的TCP/UDP端口。Nmap通过探测将端口划分为6个状态:1) open:端口是开放的2) closed:端口是关闭的3) filtered:端口被防火墙IDS/IPS屏蔽,无法确定其状态。4) unfiltered:端口没有被屏蔽,但是否开放需要进一步确定5) open|filtered:端口是开放的或被屏蔽6) closed|filtered:端口是关闭的或被屏蔽

优点:SYN扫描要比TCP Connect()扫描隐蔽一些(没有进行TCP三次握手,否则容易被防火墙和 IDS 检测到)SYN仅仅需要发送初始的SYN数据包给目标主机,如果端口开放,则相应SYN-ACK数据包;如果关闭,则响应RST数据包;

-sS (TCP SYN扫描): 半开放扫描,它只发送一个SYN报文然后等待回应,若SYN/ACK表示端口在监听(开放),而RST(复位)表示没有监听者。 如果数次重发后仍没响应,该端口就被标记为被过滤。如果收到ICMP不可到达错误(类型3,代码1,2,3,9,10,或者13),该端口也被标记为被过滤。-sT (TCP connect()扫描): CPConnect()扫描是默认的TCP扫描,Nmap通过创建connect()系统调用要求操作系统和目标机以及端口建立连接,而不像其它扫描类型直接发送原始报文。-sU(UDP扫描):UDP扫描发送空的(没有数据)UDP报头到每个目标端口。如果返回ICMP端口不可到达错误(类型3,代码3),该端口是closed(关闭的)。       其它ICMP不可到达错误(类型3,代码1,2,9,10,或者13)表明该端口是filtered(被过滤的)。       偶尔地,某服务会响应一个UDP报文,证明该端奥是open(开放的)。如果几次重试后还没有响应,该端口就被认为是open|filtered(开放|被过滤的)。

-sN; -sF; -sX (TCP Null,FIN,and Xmas扫描):用来区分open(开放的)和closed(关闭的)端口。利用了当端口关闭时,任何不包含SYN,RST,或者ACK位的报文会导致一个RST返回,而当端口开放时,应该没有任何响应。-sA (TCP ACK扫描):   ACK扫描探测报文只设置ACK标志位(除非您使用--scanflags)。当扫描未被过滤的系统时,open(开放的)和closed(关闭的)端口都会返回RST报文。 Nmap把它们标记为unfiltered(未被过滤的),意思是ACK报文不能到达,但至于它们是open(开放的)或者closed(关闭的)无法确定。 不响应的端口或者发送特定的ICMP错误消息(类型3,代号1,2,3,9,10,或者13)的端口,标记为filtered(被过滤的)。-sW (TCP窗口扫描): 利用了某些系统上,开放端口用正数表示窗口大小(甚至对于RST报文)而关闭端口的窗口大小为0,区分开放端口和关闭端口。--scanflags(定制的TCP扫描):可以通过指定任意TCP标志位来设计自己的扫描。-sO(IP协议扫描):确定囱标机支持哪些IP协议(TCP,ICMP,IGMP,等等)。遍历的是IP协议号而不是TCP或者UDP端口号。

nmap -p 445 192.168.31.43   # 扫描这台主机的指定端口(port),445文件共享端口    nmap -p 1-100,135,139,445 192.168.1.43   # 扫描部分端口                          PORT:端口    STATE:状态   SERVICE:开放的服务nmap -p 1-65535 192.168.31.43   # 扫描这台设备的所有端口          Not shown: 65525 filtered tcp ports (no-response)    表示65525个端口是关闭的nmap -p 22 www.wbdy.tvnmap -p 22,80,443 www.wbdy.tvnmap -sT 192.168.31.43   # 扫描TCP端口    sT:scan TCP        nmap -sU 192.168.31.43   # 扫描UDP端口   sT:scan UDP     U、T 一定要大写       UDP 扫描会比较慢

nmap -p- 192.168.31.164   # 扫描该 IP 所有端口 【推荐】nmap -p- ce.mianshiya.com   # 扫描该域名所有端口 (跑不出结果)

nmap -p U:53,111,T:21-25,80 scanme.nmap.org # 扫描UDP、TCP指定端口nmap -F scanme.nmap.org   # 快速扫描

nmap --top--ports 22 scanme.nmap.org  # 需要加端口号,否则报错

******************* 扫描域名 ******************* nmap www.wbdy.tv    # 能够扫描出这个网站哪些端口是开放的nmap deelmind.com -p 22 -sSnmap deelmind.com -A -sS   # 【这种比较好】nmap -sS -O www.wbdy.tv   # 扫描一台机器:查看此服务器开放的端口号和操作系统类型nmap -sS -O wbdy.tv   # 与上等价      -sS:半开扫描(half-open)   -O:显示出操作系统的类型,每一种操作系统都有一个指纹。nmap wbdy.tv  -sS -O   # 与上等价      参数可以放在后面nmap -p 4444 deelmind.com -ss -sV  # 可以扫描4444端口是否打开在线

***************** 躲避防火墙扫描 **************** nmap -f -v 192.168.139.132nmap --mtu 16 192.168.139.132nmap -D 192.168.139.129 ME 192.168.139.132 # -D 指诱饵   ME后面跟的是目的地址nmap -sI www.baidu.com:80 192.168.139.132nmap --source-port 88 192.168.139.132nmap --data-length 30 192.168.139.132nmap -sT -PN --spoof-mac 0 192.168.139.132

*********** 探测服务器、网站指纹信息 ***********nmap -sV -A 192.168.139.132nmap -sV --allports 192.168.139.132nmap -sV --version-intensity 1 192.168.139.132nmap -sV --version-all 1 192.168.139.132nmap -O 192.168.139.132nmap -O --osscan-limit 1 192.168.139.1/24nmap -O --osscan-guess 192.168.139.132

******************* 高级使用技巧 *******************

nmap -iflist      # 查看网卡清单nmap deelmind.com --script=./vulscan/vulscan.nse -oN rr.txt  # 利用写好的脚本进行扫描,生成 rr.txt 文件      # 回车显示扫描进度

nmap 192.168.1.0/24 -p1-1024 --script=ipidseq.nse > a.txt  # 扫描结果保存到 a.txt文件中-iR  表示随机扫描 -iR 100    后面数字100表示次数    -iR 0   后面数字0表示一直扫描下去vim a.txt

如何更隐藏的去扫描,频繁扫描会被屏蔽或者锁定IP地址。--randomize_hosts      #随机扫描,对目标主机的顺序随机划分--scan-delay      #延时扫描,单位秒,调整探针之间的延迟

nmap -v --randomize-hosts -p 80 192.168.31.62-169   # 随机扫描,多次扫描顺序结果不一样

随机扫描+延时扫描,默认单位秒:nmap -v --randomize-hosts --scan-delay 3000ms -p 80 192.168.31.62-69

使用通配符指定IP地址:nmap -v --randomize-hosts --scan-delay 30 -p 80 1.*.2.3-8  # 这里 *:1-254,总计扫描IP:254x6个  扫描延时30秒nmap --script ip-geolocation-* www.0day.cn   # 路径:/usr/share/nmap/scriptsnmap --script whois-domain www.0day.cn

nmap deelmind.com -sS -A -oN ./r.txt    # 扫描输出的文件(r.txt)保存在桌面nmap deelmind.com --script=./vulscan/vulscan.nse -oN rr.txt  # 利用写好的脚本进行扫描  生成 rr.txt文件  【回车才显示扫描进度】nmap --script ipidseq iR 10000 -oN ipidseq.txt

nmap 8.8.8.8 -n -T3 -sT -A -e eth0    # 指定网卡扫描nmap 8.8.8.8 -sS -F -Pn -A

nmap 8.8.8.8 -F -O -D1.1.1.1,2.2.2.2 -g996 -n-n  不做DNS查询-g  指定一个源端口-0  做操作系统的探测-F  100个端口的快速扫描-D  后面跟着的IP地址是假的

nmap -iL 1.txt     # 跑这个列表文件 nmap -iR 3     # 这样将会从公网上随机扫描三台主机nmap -T4 -A -v 192.168.31.164    # 【全面扫描】 不加后面 A 扫描速度会更快,为了躲避WAF、IPS等设备检测,可以使用T0、T1速度扫描   -Tnmap -P0 192.168.31.164    # *IP协议Ping扫描*  (如果防火墙禁掉PING)

nmap --script=vuln 192.168.178.128   # 漏洞扫描模式,扫描这台主机上存在的漏洞

*****************************  系统banner提取  *****************************  简单来说,banner信息就是指服务器返回响应头的相关信息,如:软件开发商,软件名称、版本、服务类型等信息,通过这些信息可以使用相对应的工具和exp去攻击。获取banner信息的意义:  通过这些信息可以使用相对应的工具和exp去进行攻击。

nmap --script=banner ce.mianshiya.com   # 利用里面自带的脚本nmap -sT --script=banner ce.mianshiya.com  nmap -sS -p22 -vv --script=banner ce.mianshiya.com



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3